# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=squid
pkgver=5.5
pkgrel=0
pkgdesc="full-featured Web proxy cache server"
url="http://www.squid-cache.org/"
install="squid.pre-install squid.pre-upgrade"
pkgusers="squid"
pkggroups="squid"
arch="all"
license="GPL-2.0-or-later"
depends="logrotate"
makedepends="openssl1.1-compat-dev perl-dev autoconf automake heimdal-dev libtool
	libcap-dev linux-headers"
subpackages="$pkgname-doc"
linguas="af ar az bg ca cs da de el es et fa fi fr he hu hy id it ja ka ko lt
	lv ms nl oc pl pt ro ru sk sl sr sv th tr uk uz vi zh"
langdir="/usr/share/squid/errors"
source="http://www.squid-cache.org/Versions/v${pkgver%%.*}/squid-$pkgver.tar.xz

	$pkgname.initd
	$pkgname.confd
	$pkgname.logrotate
	"
pkgusers="squid"
pkggroups="squid"

# secfixes:
#   5.2-r0:
#     - CVE-2021-41611
#     - CVE-2021-28116
#   5.0.6-r0:
#     - CVE-2021-28651
#     - CVE-2021-28652
#     - CVE-2021-28662
#     - CVE-2021-31806
#     - CVE-2021-31807
#     - CVE-2021-31808
#     - CVE-2021-33620
#   5.0.5-r0:
#     - CVE-2020-25097
#   4.13.0-r0:
#     - CVE-2020-15810
#     - CVE-2020-15811
#     - CVE-2020-24606
#   4.12.0-r0:
#     - CVE-2020-15049
#   4.10-r0:
#     - CVE-2020-8449
#     - CVE-2020-8450
#     - CVE-2019-12528
#     - CVE-2020-8517
#   4.9-r0:
#     - CVE-2019-18679
#   4.8-r0:
#     - CVE-2019-13345
#   3.5.27-r2:
#     - CVE-2018-1000024
#     - CVE-2018-1000027
#     - CVE-2018-1172

# link against gcc libatomic on riscv64
[ "$CARCH" = "riscv64" ] && export LDFLAGS="$LDFLAGS -latomic"

build() {
	case "$CARCH" in mips|mipsel*) export ac_cv_search___atomic_load_8=-latomic ;; esac
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--datadir=/usr/share/squid \
		--sysconfdir=/etc/squid \
		--libexecdir=/usr/lib/squid \
		--localstatedir=/var \
		--with-logdir=/var/log/squid \
		--disable-strict-error-checking \
		--disable-arch-native \
		--enable-removal-policies="lru,heap" \
		--enable-auth-digest \
		--enable-auth-basic="getpwnam,NCSA,SMB,SMB_LM,RADIUS" \
		--enable-epoll \
		--enable-external-acl-helpers="file_userip,unix_group,wbinfo_group" \
		--enable-auth-ntlm="fake,SMB_LM" \
		--enable-auth-negotiate="kerberos,wrapper" \
		--disable-mit \
		--enable-heimdal \
		--enable-delay-pools \
		--enable-arp-acl \
		--enable-openssl \
		--enable-ssl-crtd \
		--enable-linux-netfilter \
		--enable-ident-lookups \
		--enable-useragent-log \
		--enable-cache-digests \
		--enable-referer-log \
		--enable-async-io \
		--enable-truncate \
		--enable-arp-acl \
		--enable-htcp \
		--enable-carp \
		--enable-poll \
		--enable-follow-x-forwarded-for \
		--with-large-files \
		--with-default-user=squid \
		--with-openssl

	make
}

package() {
	make DESTDIR="$pkgdir" install

	install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
	install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
	install -m644 -D "$srcdir"/$pkgname.logrotate \
		"$pkgdir"/etc/logrotate.d/squid

	install -d -o squid -g squid \
		"$pkgdir"/var/cache/squid \
		"$pkgdir"/var/log/squid \
		"$pkgdir"/var/run/squid
	chmod +x "$pkgdir"/usr/lib/squid/*
}

squid_kerb_auth() {
	pkgdesc="Squid kerberos authentication helper"
	install -d "$subpkgdir"/usr/lib/squid
	mv "$pkgdir"/usr/lib/squid/squid_kerb_auth "$subpkgdir"/usr/lib/squid/
}
sha512sums="
f506f8cc01d59e36432d08eebd68332ef002c931425d6f95bbae7ed35281bbca453db85aba3d765913ce5d38160c48a328c322b31a1bcdcfc7f0a821d420d2c0  squid-5.5.tar.xz
8320820c02c824ed96065e0b66cabdd80b11c23e911880a42f5bd7e3f6e7a5c1c6def910a1843cca810c62a7dc8ccdb9ae82c0cf52bf08259c3b50058232132d  squid.initd
7292661de344e8a87d855c83afce49511685d2680effab3afab110e45144c0117935f3bf73ab893c9e6d43f7fb5ba013635e24f6da6daf0eeb895ef2e9b5baa9  squid.confd
89a703fa4f21b6c7c26e64a46fd52407e20f00c34146ade0bea0c4b63d050117c0f8e218f2256a1fbf6abb84f4ec9b0472c9a4092ff6e78f07c4f5a25d0892a5  squid.logrotate
"
